import numpy as np
import matplotlib.pyplot as plt

def generate_sine_wave(freq=1, amplitude=1, duration=1, sample_rate=1000, phase=0):
    """
    生成正弦波信号
    
    参数:
    freq: 频率 (Hz)
    amplitude: 幅度
    duration: 持续时间 (秒)
    sample_rate: 采样率 (每秒采样点数)
    phase: 初始相位 (弧度)
    """
    # 生成时间序列
    t = np.linspace(0, duration, int(sample_rate * duration)) # // 1
    
    # 生成正弦波: A * sin(2πft + φ)
    signal = amplitude * np.sin(2 * np.pi * freq * t + phase)  #// 2
    
    return t, signal

def plot_sine_wave(t, signal, title="正弦波", xlabel='时间 (秒)', ylabel='幅度'):
    """绘制正弦波"""
    plt.figure(figsize=(10, 4))                                #// 3 : 宽10高4
    plt.plot(t, signal)                                        #// 4
    plt.title(title)
    plt.xlabel(xlabel)
    plt.ylabel(ylabel)
    plt.grid(True)
    plt.show()